[INFO] fetching crate hammersbald 3.0.1...
[INFO] checking hammersbald-3.0.1 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate hammersbald 3.0.1 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate hammersbald 3.0.1 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hammersbald 3.0.1
[INFO] finished tweaking crates.io crate hammersbald 3.0.1
[INFO] tweaked toml for crates.io crate hammersbald 3.0.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bitcoin_hashes v0.9.7
[INFO] [stderr]   Downloaded secp256k1 v0.20.3
[INFO] [stderr]   Downloaded secp256k1-sys v0.4.2
[INFO] [stderr]   Downloaded bitcoin v0.26.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4ac8632ca8ec9e8f25a901866636f851cb7b979c7d83ead0b462cf1e6b750797
[INFO] running `Command { std: "docker" "start" "-a" "4ac8632ca8ec9e8f25a901866636f851cb7b979c7d83ead0b462cf1e6b750797", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4ac8632ca8ec9e8f25a901866636f851cb7b979c7d83ead0b462cf1e6b750797", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ac8632ca8ec9e8f25a901866636f851cb7b979c7d83ead0b462cf1e6b750797", kill_on_drop: false }`
[INFO] [stdout] 4ac8632ca8ec9e8f25a901866636f851cb7b979c7d83ead0b462cf1e6b750797
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5ec2238b84d07f5e1674a576e593ab3c5fb4f362defd9e4c579b724b1f1108aa
[INFO] running `Command { std: "docker" "start" "-a" "5ec2238b84d07f5e1674a576e593ab3c5fb4f362defd9e4c579b724b1f1108aa", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking bitcoin_hashes v0.9.7
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking hammersbald v3.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: variable does not need to be mutable
[INFO] [stdout]    --> src/memtable.rs:190:29
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 if let Some(mut bucket) = self.buckets.write().unwrap().get_mut(bucket_number) {
[INFO] [stdout]     |                             ----^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:25:9
[INFO] [stdout]     |
[INFO] [stdout] 25  | #![deny(unused_mut)]
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: variable does not need to be mutable
[INFO] [stdout]    --> src/memtable.rs:190:29
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 if let Some(mut bucket) = self.buckets.write().unwrap().get_mut(bucket_number) {
[INFO] [stdout]     |                             ----^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:25:9
[INFO] [stdout]     |
[INFO] [stdout] 25  | #![deny(unused_mut)]
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PagedFileRead` is never used
[INFO] [stdout]   --> src/pagedfile.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub trait PagedFileRead {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PagedFileWrite` is never used
[INFO] [stdout]   --> src/pagedfile.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait PagedFileWrite {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/rolledfile.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 63 | ...                   let ni = Path::new(name_index.clone());
[INFO] [stdout]    |                                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `OsStr` does not implement `Clone`, so calling `clone` on `&OsStr` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hammersbald` (lib) due to 2 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: trait `PagedFileRead` is never used
[INFO] [stdout]   --> src/pagedfile.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub trait PagedFileRead {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PagedFileWrite` is never used
[INFO] [stdout]   --> src/pagedfile.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait PagedFileWrite {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/rolledfile.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 63 | ...                   let ni = Path::new(name_index.clone());
[INFO] [stdout]    |                                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `OsStr` does not implement `Clone`, so calling `clone` on `&OsStr` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hammersbald` (lib test) due to 2 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5ec2238b84d07f5e1674a576e593ab3c5fb4f362defd9e4c579b724b1f1108aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ec2238b84d07f5e1674a576e593ab3c5fb4f362defd9e4c579b724b1f1108aa", kill_on_drop: false }`
[INFO] [stdout] 5ec2238b84d07f5e1674a576e593ab3c5fb4f362defd9e4c579b724b1f1108aa
[INFO] checking hammersbald-3.0.1 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate hammersbald 3.0.1 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate hammersbald 3.0.1 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hammersbald 3.0.1
[INFO] finished tweaking crates.io crate hammersbald 3.0.1
[INFO] tweaked toml for crates.io crate hammersbald 3.0.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ca40566a28447dcb79b2a71b7d0d6830306751cabf91c4dfe9ace4ed7d6358cd
[INFO] running `Command { std: "docker" "start" "-a" "ca40566a28447dcb79b2a71b7d0d6830306751cabf91c4dfe9ace4ed7d6358cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ca40566a28447dcb79b2a71b7d0d6830306751cabf91c4dfe9ace4ed7d6358cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca40566a28447dcb79b2a71b7d0d6830306751cabf91c4dfe9ace4ed7d6358cd", kill_on_drop: false }`
[INFO] [stdout] ca40566a28447dcb79b2a71b7d0d6830306751cabf91c4dfe9ace4ed7d6358cd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0fd447b99089efa3a0c490b91bb0de68dafb5c67e290beea38566320b9b67d1c
[INFO] running `Command { std: "docker" "start" "-a" "0fd447b99089efa3a0c490b91bb0de68dafb5c67e290beea38566320b9b67d1c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking bitcoin_hashes v0.9.7
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking hammersbald v3.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:60:22
[INFO] [stdout]    |
[INFO] [stdout] 60 |         self.content[pos .. pos + slice.len()].copy_from_slice(slice)
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:66:43
[INFO] [stdout]    |
[INFO] [stdout] 66 |         buf.copy_from_slice(&self.content[pos .. pos+len])
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |         self.content[pos..pos+6].copy_from_slice(&buf[..]);
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:78:54
[INFO] [stdout]    |
[INFO] [stdout] 78 |         PRef::from(BigEndian::read_u48(&self.content[pos..pos+6]))
[INFO] [stdout]    |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:85:22
[INFO] [stdout]    |
[INFO] [stdout] 85 |         self.content[pos..pos+8].copy_from_slice(&buf[..]);
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:90:43
[INFO] [stdout]    |
[INFO] [stdout] 90 |         BigEndian::read_u64(&self.content[pos..pos+8])
[INFO] [stdout]    |                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/pagedfile.rs:82:57
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 page.write(self.pos.in_page_pos(), &buf[wrote..wrote + space]);
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pagedfile.rs:101:55
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 page.read(pos.in_page_pos(), &mut buf[read .. read + have]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/memtable.rs:215:22
[INFO] [stdout]     |
[INFO] [stdout] 215 |             for o in 0 .. BUCKETS_FIRST_PAGE {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/memtable.rs:220:22
[INFO] [stdout]     |
[INFO] [stdout] 220 |             for o in 0 .. BUCKETS_PER_PAGE {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/memtable.rs:580:18
[INFO] [stdout]     |
[INFO] [stdout] 580 |         for _ in 0 .. 10000 {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/format.rs:86:70
[INFO] [stdout]    |
[INFO] [stdout] 86 |             0 => Ok(Payload::Indexed(IndexedData::deserialize(&slice[1..]))),
[INFO] [stdout]    |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/format.rs:87:64
[INFO] [stdout]    |
[INFO] [stdout] 87 |             1 => Ok(Payload::Referred(Data::deserialize(&slice[1..]))),
[INFO] [stdout]    |                                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/format.rs:88:60
[INFO] [stdout]    |
[INFO] [stdout] 88 |             2 => Ok(Payload::Link(Link::deserialize(&slice[1..]))),
[INFO] [stdout]    |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:116:51
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let data_len = BigEndian::read_u24(&slice[0 .. 3]) as usize;
[INFO] [stdout]     |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let data = &slice[3 .. 3+data_len];
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:146:26
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let key = &slice[1 .. key_len+1];
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/format.rs:147:45
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let data = Data::deserialize(&slice[key_len+1 ..]);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:163:45
[INFO] [stdout]     |
[INFO] [stdout] 163 |             BigEndian::write_u32(&mut links[i*10 .. i*10+4], slot.0);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:164:45
[INFO] [stdout]     |
[INFO] [stdout] 164 |             BigEndian::write_u48(&mut links[i*10+4 .. i*10+10], slot.1.as_u64());
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:172:18
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for i in 0 .. self.links.len()/10 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:60:22
[INFO] [stdout]    |
[INFO] [stdout] 60 |         self.content[pos .. pos + slice.len()].copy_from_slice(slice)
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:66:43
[INFO] [stdout]    |
[INFO] [stdout] 66 |         buf.copy_from_slice(&self.content[pos .. pos+len])
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |         self.content[pos..pos+6].copy_from_slice(&buf[..]);
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:78:54
[INFO] [stdout]    |
[INFO] [stdout] 78 |         PRef::from(BigEndian::read_u48(&self.content[pos..pos+6]))
[INFO] [stdout]    |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:85:22
[INFO] [stdout]    |
[INFO] [stdout] 85 |         self.content[pos..pos+8].copy_from_slice(&buf[..]);
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/page.rs:90:43
[INFO] [stdout]    |
[INFO] [stdout] 90 |         BigEndian::read_u64(&self.content[pos..pos+8])
[INFO] [stdout]    |                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/pagedfile.rs:82:57
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 page.write(self.pos.in_page_pos(), &buf[wrote..wrote + space]);
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pagedfile.rs:101:55
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 page.read(pos.in_page_pos(), &mut buf[read .. read + have]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/memtable.rs:215:22
[INFO] [stdout]     |
[INFO] [stdout] 215 |             for o in 0 .. BUCKETS_FIRST_PAGE {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/memtable.rs:220:22
[INFO] [stdout]     |
[INFO] [stdout] 220 |             for o in 0 .. BUCKETS_PER_PAGE {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/format.rs:86:70
[INFO] [stdout]    |
[INFO] [stdout] 86 |             0 => Ok(Payload::Indexed(IndexedData::deserialize(&slice[1..]))),
[INFO] [stdout]    |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/format.rs:87:64
[INFO] [stdout]    |
[INFO] [stdout] 87 |             1 => Ok(Payload::Referred(Data::deserialize(&slice[1..]))),
[INFO] [stdout]    |                                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/format.rs:88:60
[INFO] [stdout]    |
[INFO] [stdout] 88 |             2 => Ok(Payload::Link(Link::deserialize(&slice[1..]))),
[INFO] [stdout]    |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:116:51
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let data_len = BigEndian::read_u24(&slice[0 .. 3]) as usize;
[INFO] [stdout]     |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let data = &slice[3 .. 3+data_len];
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:146:26
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let key = &slice[1 .. key_len+1];
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/format.rs:147:45
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let data = Data::deserialize(&slice[key_len+1 ..]);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:163:45
[INFO] [stdout]     |
[INFO] [stdout] 163 |             BigEndian::write_u32(&mut links[i*10 .. i*10+4], slot.0);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:164:45
[INFO] [stdout]     |
[INFO] [stdout] 164 |             BigEndian::write_u48(&mut links[i*10+4 .. i*10+10], slot.1.as_u64());
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:172:18
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for i in 0 .. self.links.len()/10 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:173:56
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let hash = BigEndian::read_u32(&self.links[i*10..i*10+4]);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:174:67
[INFO] [stdout]     |
[INFO] [stdout] 174 |             let pref = PRef::from(BigEndian::read_u48(&self.links[i*10+4..i*10+10]));
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/datafile.rs:73:41
[INFO] [stdout]    |
[INFO] [stdout] 73 |             Ok(Envelope::deseralize(buf[0..blen].to_vec()))
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/transient.rs:130:51
[INFO] [stdout]     |
[INFO] [stdout] 130 |         buf.copy_from_slice(&self.data.as_slice()[self.pos .. self.pos + buflen]);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/transient.rs:146:38
[INFO] [stdout]     |
[INFO] [stdout] 146 |             self.data.as_mut_slice()[pos..pos + have].copy_from_slice(&buf[0..have]);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/transient.rs:146:76
[INFO] [stdout]     |
[INFO] [stdout] 146 |             self.data.as_mut_slice()[pos..pos + have].copy_from_slice(&buf[0..have]);
[INFO] [stdout]     |                                                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/transient.rs:148:50
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 self.data.extend_from_slice(&buf[have..buflen]);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:173:56
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let hash = BigEndian::read_u32(&self.links[i*10..i*10+4]);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/format.rs:174:67
[INFO] [stdout]     |
[INFO] [stdout] 174 |             let pref = PRef::from(BigEndian::read_u48(&self.links[i*10+4..i*10+10]));
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/datafile.rs:73:41
[INFO] [stdout]    |
[INFO] [stdout] 73 |             Ok(Envelope::deseralize(buf[0..blen].to_vec()))
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/transient.rs:130:51
[INFO] [stdout]     |
[INFO] [stdout] 130 |         buf.copy_from_slice(&self.data.as_slice()[self.pos .. self.pos + buflen]);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/transient.rs:146:38
[INFO] [stdout]     |
[INFO] [stdout] 146 |             self.data.as_mut_slice()[pos..pos + have].copy_from_slice(&buf[0..have]);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/transient.rs:146:76
[INFO] [stdout]     |
[INFO] [stdout] 146 |             self.data.as_mut_slice()[pos..pos + have].copy_from_slice(&buf[0..have]);
[INFO] [stdout]     |                                                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/transient.rs:148:50
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 self.data.extend_from_slice(&buf[have..buflen]);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/api.rs:291:18
[INFO] [stdout]     |
[INFO] [stdout] 291 |         for _ in 0 .. 10000 {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/api.rs:303:18
[INFO] [stdout]     |
[INFO] [stdout] 303 |         for _ in 0 .. 10000 {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: variable does not need to be mutable
[INFO] [stdout]    --> src/memtable.rs:190:29
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 if let Some(mut bucket) = self.buckets.write().unwrap().get_mut(bucket_number) {
[INFO] [stdout]     |                             ----^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:25:9
[INFO] [stdout]     |
[INFO] [stdout] 25  | #![deny(unused_mut)]
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: variable does not need to be mutable
[INFO] [stdout]    --> src/memtable.rs:190:29
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 if let Some(mut bucket) = self.buckets.write().unwrap().get_mut(bucket_number) {
[INFO] [stdout]     |                             ----^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:25:9
[INFO] [stdout]     |
[INFO] [stdout] 25  | #![deny(unused_mut)]
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PagedFileRead` is never used
[INFO] [stdout]   --> src/pagedfile.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub trait PagedFileRead {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PagedFileWrite` is never used
[INFO] [stdout]   --> src/pagedfile.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait PagedFileWrite {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/rolledfile.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 63 | ...                   let ni = Path::new(name_index.clone());
[INFO] [stdout]    |                                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `OsStr` does not implement `Clone`, so calling `clone` on `&OsStr` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PagedFileRead` is never used
[INFO] [stdout]   --> src/pagedfile.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub trait PagedFileRead {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hammersbald` (lib test) due to 2 previous errors; 33 warnings emitted
[INFO] [stdout] warning: trait `PagedFileWrite` is never used
[INFO] [stdout]   --> src/pagedfile.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub trait PagedFileWrite {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/rolledfile.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 63 | ...                   let ni = Path::new(name_index.clone());
[INFO] [stdout]    |                                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `OsStr` does not implement `Clone`, so calling `clone` on `&OsStr` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hammersbald` (lib) due to 2 previous errors; 30 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "0fd447b99089efa3a0c490b91bb0de68dafb5c67e290beea38566320b9b67d1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0fd447b99089efa3a0c490b91bb0de68dafb5c67e290beea38566320b9b67d1c", kill_on_drop: false }`
[INFO] [stdout] 0fd447b99089efa3a0c490b91bb0de68dafb5c67e290beea38566320b9b67d1c
